package cn.itcast.com.day06;

/*
2. 写一个数组的工具类ArrayTool, 要求提供
   遍历，求最大值，最小值，逆置数组元素，查表(在数组中查找指定元素，若不存在，待查找元素返回-1，若存在返回元素在数组中首次出现的位置)，找元素在int类型数组(int[])中最后出现的索引等操作。

   提示：
    a. 所谓工具类，就是一个类中定义的都是静态方法，这样的类称为工具类。
    b. 工具类中定义的静态方法  就是工具方法，所谓工具方法，简单来说，就是该方法实现了一些公用的功    能，为了方便使用，定义为工具方法
比如我们之前用过的Arrays.toString(数组)，就是一个工具方法，工具方法处理的都是方法参数传递的数据。
         比如定义一个查找数组最大值的方法，在工具类中就可以这样定义
class ArrayTool{
             查找数组中的最大值
            public static int max(int[] a) {
            }
        }
 */
public class test2{
    public static void main(String[] args) {
        function function = new function();
        int[] a = {1,2,45,6,8,12};
        function.bianli(a);
        System.out.println("");
        System.out.println("-------------");
        System.out.println(function.max(a));
        System.out.println("-------------");
        System.out.println(function.min(a));
        System.out.println("-------------");
        function.nizhi(a);
        System.out.println("-------------");
        System.out.println(function.chabiao(a,14));
        System.out.println("-------------");
        System.out.println(function.suoyin(a,1));



    }
}
class function {
    //求遍历
    public static void bianli(int[] a){
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i]+" ");
        }
    }

    //求最大值
    public static int max(int[] a){
        int max = a[0];
        for (int i = 0; i < a.length-1; i++) {
            if(max<a[i+1]){
                max = a[i+1];
            }
        }
        return max;
    }

    //求最小值
    public static int min(int[] a){
        int min = a[0];
        for (int i = 0; i < a.length-1; i++) {
            if(min>a[i+1]){
                min = a[i+1];
            }
        }
        return min;
    }

    //逆置数组
    public static int[] nizhi(int[] a){
        int length = a.length;
        int[] b = new int[length];
        for (int i = length-1; i >= 0; i--) {
            b[length - i-1]=a[i];
            System.out.println(a[i]);
        }
        for (int i = 0; i < length; i++) {
            System.out.println(b[i]);
        }
        return b;
    }

    //查表
    public static int chabiao(int[] a,int b){
        int target = -1;
        for (int i = 0; i < a.length-1; i++) {
            if(a[i]==b){
                target = i;
            }
        }
        return target;
    }

    //找索引
    public static int suoyin(int[] a,int b){
        int target = 0;
        for (int i = 0; i < a.length-1; i++) {
            if(a[i]==b){
                target = i;
            }
        }
        return target;
    }
}
